Refinement of recursive procedures with parameters in PVS

نویسنده

  • Viorel Preoteasa
چکیده

We present a shallow embedding in PVS of a predicate transformer semantics of an imperative language suitable for reasoning about recursive procedures with parameters and local variables. We use the PVS dependent type mechanism for implementing program variables of different types. We use an uninterpreted state space and define the program variables behavior by means of certain tree functions that are supposed to satisfy some axioms. Unlike in the implementations mentioned in the literature, we do not need to change the state space when adding local variables or procedure parameters.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Brief Overview of PVS

PVS is now 15 years old, and has been extensively used in research, industry, and teaching. The system is very expressive, with unique features such as predicate subtypes, recursive and corecursive datatypes, inductive and coinductive definitions, judgements, conversions, tables, and theory interpretations. The prover supports a combination of decision procedures, automatic simplification, rewr...

متن کامل

Mechanical Verification of Mutually Recur - sive Procedures for Parsing Expressions us - ing Separation Logic TUCS

This paper adds support for mutually recursive procedures on top of a predicate transformer semantics of imperative programs with pointers implemented in PVS theorem prover. We define and prove correct a collection of mutually recursive procedures which constructs the parsing tree of an expression generated by a context free grammar. We use separation logic to specify and verify these procedure...

متن کامل

Hidden verification for computational mathematics

We present hidden verification as a means to make the power of computational logic available to users of computer algebra systems while shielding them from its complexity. We have implemented in PVS a library of facts about elementary and transcendental functions, and automatic procedures to attempt proofs of continuity, convergence and differentiability for functions in this class. These are c...

متن کامل

Program Variables – The Core of Mechanical Reasoning about Imperative Programs

Imperative programming languages are widely used in practice in most of the software development projects. Examples of such languages include C, C++, C#, Java, Pascal, and many more. This thesis is concerned with reasoning about imperative programs. We study both refinement (the construction of correct programs starting from specifications) and correctness (an already written program is proved ...

متن کامل

On the Verification of VDM Specification and Refinement with PVS

Although the formal method VDM has been in existence since the 1970’s, there are still no satisfactory tools to support verification in VDM. This paper deals with one possible means of approaching this problem by using the PVS theorem-prover. It describes a translation of a VDM-SL specification into the PVS specification language using, essentially, the very transparent translation methods desc...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004